'''
Created on 2009-10-25

@author: summit
'''

class AbstractModel(object):
    def __init__(self):
        self.listeners = []
        
    def addListener(self, listenerFunc):
        self.listeners.append(listenerFunc)
        
    def removeListener(self, listenerFunc):
        self.listeners.remove(listenerFunc)
        
    def update(self):
        for eachFunc in self.listeners:
                eachFunc(self)